EXTEND—STEP 4: Now that we can access our score inside our collision event, let's add to it!
+= allows us to add to existing integer variables in Python.
In LOGIC, go to and drag Add Value into the collision event.
Change the variable to the left of the equals sign from my_var to score.
To navigate the page using the TAB key, first press ESC to exit the code editor.
stage.set_background("moon")
sprite = codesters.Sprite("alien1")
sprite.go_to(-175, -150)
net = codesters.Sprite("basketballnet")
net.go_to(215, 175)
instructions = codesters.Text("Click on the sprite to shoot the basketball. Hit the basket to score a point!")
instructions.go_to(0, 50)
instructions.set_color("white")
stage.set_gravity(10)
sprite.set_gravity_off()
def click(sprite):
ball = codesters.Sprite("basketball")
ball.go_to(-175, -125)
ball.set_x_speed(10)
ball.set_y_speed(10)
# add other actions...
sprite.event_click(click)
stage.disable_right_wall()
def collision(net, hit_sprite):
my_var = hit_sprite.get_image_name()
if my_var == "basketball":
sprite.say("Score!")
hit_sprite.hide()
global score
# add any other actions...
net.event_collision(collision)
score = 0
#my_display = codesters.Display(my_var, x, y)
my_display = codesters.Display(score, -200, 150)
t = codesters.Teacher()
add_var = t.find_text('+=')
try:
tval1 = add_var[0][1].replace(' ', '')
tval2 = t.get_indent_at_line(add_var[0][0])
except:
tval1 = "DNE"
tval2 = "DNE"
t1 = TestObjective()
t1.add_success('score+=1' in tval1 and tval2 == 8, "Great job!")
t1.add_failure(tval1 == "DNE", "Did you add an Add Value command inside your if statement?")
t1.add_failure('score+=' not in tval1, "Did you change the variable in front of += to score?")
t1.add_failure('+=1' not in tval1, "Oops! Make sure the number we add to score is 1!")
t1.add_failure(tval2 < 8, "Make sure your Add Value command is indented INSIDE your if statement!")
t1.add_failure(tval2 > 8, "Make sure your Add Value command is indented only 8 spaces!")
tester = TestManager()
tester.add_test_list([t1])
tester.run_tests()
tester.display_first_feedback()
Are you already running a Codesters project in another tab or window?
Micro:bit can only connect to one web page at a time.
Try stopping other Codesters projects or closing
other tabs or windows that may be using your Micro:bit.
If that doesn't fix the problem try disconnecting your Micro:bit,
reloading this page, and reconnecting your Micro:bit.